package sxt.util;

import java.util.Random;

/**
 * 生成主键的工具类型。
 */
public class IdUtils {
    private static final Random RANDOM = new Random();
    /**
     * 动态获取一个唯一的数据，作为商品的主键。
     * 在互联网环境中，尽可能保证没有重复数据。
     * 找1970/01/01 00:00:00 至今过去的毫秒或纳秒数 + 随机数（3位的随机数）
     * @return 生成的商品主键
     */
    public static Long generateTbItemPK(){

        // 获取基础数据。 1970/01/01 00:00:00 至今过去的毫秒
//        long base = System.currentTimeMillis();

        // 生成一个随机数字，长度是3位， 取值范围是000~999。
        String tmp = RANDOM.nextInt(999) + "";
        if(tmp.length() == 1){
            tmp = "00" + tmp;
        }else if(tmp.length() == 2){
            tmp = "0" + tmp;
        }

        // 把基础数据和随机数据拼接，得到最终数据。
        tmp = "" + tmp;

        // 返回最终生成的商品主键。
        return Long.parseLong(tmp);
    }
}
